type IFormItemType = "input" | "password" | "datepicker" | "select";

export interface IFormItem {
  field: string;
  type: IFormItemType;
  label: string;
  rules?: any[];
  placeholder?: any;
  // select 组件的下拉待选项构成的数组，使用案例：
  // {
  //   field: "enable",
  //   type: "select",
  //   label: "可用",
  //   placeholder: "必填项",
  //   options: [
  //     { label: "启用", value: 1 },
  //     { label: "禁用", value: 0 },
  //   ],
  // },
  options?: any[];

  // 在制作上面服务于 select 的 options 之后追加
  // 目前用于日期时间段选择控件，使用案例：
  // {
  //   field: "createTime",
  //   type: "datepicker",
  //   label: "创建时间",
  //   otherOptions: {
  //     startPlaceholder: "开始时间",
  //     endPlaceholder: "结束时间",
  //     type: "daterange",
  //   },
  // },
  otherOptions?: any;
}

/**
 * 2021年10月20日 09:32:54 chanchaw
 * 包含表单项数组以及其他参数，用于配置业务组件的表单
 */
export interface IForm {
  formItems: IFormItem[]; // 配置表单的每个 item
  labelWidth?: string; // 表单每个 item 的 label 的宽度
  itemStyle?: any; // 设置每个 item  的 padding 的值，控制 item 的间距
  colLayout?: any; // 响应式设置，可控制一行显示的 item 的个数，从而控制表单横向显示或者纵向显示
}
